package request

import "yundian/internel/app/models/ordersmonthly"

// AliPayUserAgreementSignRes 支付宝-支付并签约
type AliPayUserAgreementSignRes struct {
	Money       int64  `json:"money"`
	UserId      int    `json:"userId"`
	PlaceId     int    `json:"placeId"`
	PlaceName   string `json:"placeName"`
	DeviceSn    string `json:"deviceSn"`
	BuyerId     string `json:"buyerId"`
	AgreementNo string `json:"agreementNo"`
	ProductId string `json:"productId"`

	PeriodType uint8  `json:"periodType"`
	RenewTime  string `gorm:"column:renew_time" json:"renewTime"`
}

type GetAutoRenewMonthlyAwaitListReq struct {
	ordersmonthly.OrderMonthlyModel
	PeriodType      uint8  `gorm:"column:period_type" json:"periodType"`
	AppId           string `gorm:"column:app_id" json:"appId"`
	Openid          string `gorm:"column:openid" json:"openid"`
	UpdateRenewTime string `gorm:"column:update_renew_time" json:"updateRenewTime"`
	PlaceName       string `gorm:"column:place_name" json:"placeName"`
}

type GetAutoRenewMonthlyReq struct {
	ordersmonthly.OrderMonthlyModel
	CloseNum int64 `gorm:"column:-" json:"closeNum"`
}

// 支付宝 - 签约自动扣费
type AliPayAutoTradeCreate struct {
	AgreementNo string `json:"agreementNo"`
	Openid      string `json:"openid"`
	Money       int64  `json:"money"`
	RenewTime   string `json:"renewTime"`
}

// 支付宝  -  统一收单交易创建接口
type AliPayTradeCreateOrder struct {
	DeviceSn      string `json:"deviceSn" binding:"required"` // 设备标识
	ProductId     string `json:"productId"`                   //
	DeviceModelId string `json:"deviceModelId"`               //
	BuyerId       string `json:"buyerId" binding:"required"`  // 用户openid
	Money         int64  `json:"money"`
	FeeMode       int    `json:"feeMode"`
	ClientIp      string `json:"clientIp"` //
	UserId        int    `json:"userId"`

	Key        string // 种类key
	PaySubject string // 支付说明
}

// 微信小程序 获取密码、重置密码、继续使用
type GetZfbPasswordReq struct {
	DeviceSn  string `json:"deviceSn" form:"deviceSn" binding:"required"` // 设备标识
	ProductId string `json:"productId"`
	TradeNo   string `json:"tradeNo"` // 订单号
}

//资金授权解冻
type OrderUnfreezeReq struct {
	AuthNo       string `json:"authNo"`
	OutRequestNo string `json:"outRequestNo"`
	Amount       int64  `json:"amount"`
	Remark       string `json:"remark"`
	ExtraParam   string `json:"extraParam"`
}

//订单信息同步
type OrderInfoSync struct {
	TradeNo      string `json:"tradeNo"`
	OutRequestNo string `json:"outRequestNo"`
}

//资金授权操作查询
type FundAuthOperationDetailQuery struct {
	AuthNo        string `json:"authNo"`
	OutRequestNo  string `json:"outRequestNo"`
	OperationType string `json:"operationType"`
	OutOrderNo    string `json:"outOrderNo"`
}
